| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import { FeatureFlagContext, useParams } from 'common'
- import { useRouter } from 'next/router'
- import { useContext, useEffect } from 'react'
- import { ReplicationPipelineStatus } from '@/components/interfaces/Database/Replication/ReplicationPipelineStatus/ReplicationPipelineStatus'
- import { useIsETLPrivateAlpha } from '@/components/interfaces/Database/Replication/useIsETLPrivateAlpha'
- import DatabaseLayout from '@/components/layouts/DatabaseLayout/DatabaseLayout'
- import DefaultLayout from '@/components/layouts/DefaultLayout'
- import { ScaffoldContainer, ScaffoldSection } from '@/components/layouts/Scaffold'
- import { FormHeader } from '@/components/ui/Forms/FormHeader'
- import { PipelineRequestStatusProvider } from '@/state/replication-pipeline-request-status'
- import type { NextPageWithLayout } from '@/types'
- const DatabaseReplicationPage: NextPageWithLayout = () => {
- const router = useRouter()
- const { ref: projectRef } = useParams()
- const { hasLoaded } = useContext(FeatureFlagContext)
- const enablePgReplicate = useIsETLPrivateAlpha()
- useEffect(() => {
- if (hasLoaded && !enablePgReplicate) {
- router.replace(`/project/${projectRef}/database/replication`)
- }
- }, [router, hasLoaded, projectRef, enablePgReplicate])
- return (
- <>
- {enablePgReplicate && (
- <PipelineRequestStatusProvider>
- <ScaffoldContainer>
- <ScaffoldSection>
- <div className="col-span-12">
- <FormHeader title="Replication" />
- <ReplicationPipelineStatus />
- </div>
- </ScaffoldSection>
- </ScaffoldContainer>
- </PipelineRequestStatusProvider>
- )}
- </>
- )
- }
- DatabaseReplicationPage.getLayout = (page) => (
- <DefaultLayout>
- <DatabaseLayout title="Replication">{page}</DatabaseLayout>
- </DefaultLayout>
- )
- export default DatabaseReplicationPage
|